//
//  CurrentWeapon.m
//  This file is part of D&D Manager
//
//  Created by Matthew Hutton on 28/02/2007.
//  Copyright 2007 Matthew Hutton.
//
//D&D Manager, a D&D Character and battle management program.
//Copyright (C) 2007, Matthew Hutton
//
//This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
//
//This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License along with this program; if not, write to:
//The Free Software Foundation, Inc.,
//51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

#import "CurrentWeapon.h"


@implementation CurrentWeapon
+ (Class)transformedValueClass{
	return [NSString class];
}
+ (BOOL)allowsReverseTransformation{
	return NO;
}
- (id)transformedValue:(id)value{
	//normal character.
	if([[value valueForKey:@"usesWeapons"] boolValue]){
		return [value valueForKey:@"defaultWeaponForDisp"];
	}
	NSArray *array=[[value valueForKey:@"weapons"] allObjects];
	int i;
	if([array count]==0){
		return @"No Weapons";
	}
	NSString *str;
	NSObject *weap=[array objectAtIndex:0];
	if([[weap valueForKey:@"noOfSimultaneousAttacks"] intValue]==1){
		str=[[NSString alloc] initWithString:[weap valueForKey:@"name"]];
	}else{
		str=[[NSString alloc] initWithFormat:@"%dx %@",[[weap valueForKey:@"noOfSimultaneousAttacks"] intValue],[weap valueForKey:@"name"]];
	}

	for(i=1;i<[array count];i++){
		weap=[array objectAtIndex:i];
		if([[weap valueForKey:@"noOfSimultaneousAttacks"] intValue]==1){
			str=[[NSString alloc] initWithFormat:@"%@ + %@",str,[weap valueForKey:@"name"]];
		}else{
			str=[[NSString alloc] initWithFormat:@"%@ + %dx %@",str,[[weap valueForKey:@"noOfSimultaneousAttacks"] intValue],[weap valueForKey:@"name"]];
		}
	}
	return str;
}
@end
